/* mixins, variables, etc. */

$gray: #555;
$grayLight: #999;
$grayLighter: #eee;
$grayDarker: #222;
$grayMediumLight: #eaeaea;

/* universal */

html {
    overflow-y: scroll;
}

body {
    margin-top: 30px;
}

textarea {
    resize: vertical;
}

.center {
    text-align: center;
    h1 {
	margin-bottom: 10px;
    }
}

/* typography */

h1, h2, h3, h4, h5, h6 {
    line-height: 1;
}

h1 {
    font-size: 3em;
    letter-spacing: -2px;
    margin-bottom: 30px;
    text-align: center;
}

h2 {
    font-size: 1.2em;
    letter-spacing: -1px;
    text-align: center;
    font-weight: normal;
}

p {
    font-size: 1.1em;
    line-height: 1.7em;
}

/* header */

#logo {
    margin-left: 10px;
    margin-right: 10px;
    color: #fff;
    letter-spacing: 1px;
    font-weight: bold;
    line-height: 2;
    &:hover {
	color: #fff;
	text-decoration: none;
    }
}

/* footer */

footer {
    margin-top: 45px;
    padding-top: 5px;
    border-top: 1px solid $grayMediumLight;
    color: $grayLight;

    a {
	color: $gray;
	&:hover {
	    color: $grayDarker;
	}
    }

    small {
	float: left;
    }

    ul {
	float: right;
	list-style: none;
	li {
	    float: left;
	    margin-left: 10px;
	}
    }
}

/* index */

.image {
    postition:relative;
    width: 100%;
}

img {
    &.index-image {
	display: block;
	margin-bottom: 50px;
	margin-left: auto; 
	margin-right: auto; 
    }
}

#index-image-text {
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    span {
	color: white; 
	background: rgb(0, 0, 0); /* fallback color */
	background: rgba(0, 0, 0, 0.7);
	padding: 10px; 
    }
}

/* miscellaneous */

.debug_dump {
    clear: both;
    float: left;
    width: 100%;
    margin-top: 45px;
}

/* forms */

input, textarea, .uneditable-input {
  border: 1px solid #bbb;
  width: 100%;
  padding: 10px;
  margin-bottom: 15px;
}

.attached-label {
    @include prefix-postfix-base;
    $bg: $input-prefix-bg;
    $is-button: false;
    @include prefix($bg, $is-button);
}

#error_explanation {
  color: #f00;
  ul {
    list-style: none;
    margin: 0 0 18px 0;
  }
}

.field_with_errors {
  @extend .control-group;
  @extend .error;
}

/* sidebar */

aside {
	border-right: 1px solid $grayLighter;
    section {
	padding: 10px 0;
	border-top: 1px solid $grayLighter;
	&:first-child {
	    border: 0;
	    padding-top: 0;
	}
	span {
	    display: block;
	    margin-bottom: 3px;
	    line-height: 1;
	}
	h1 {
	    font-size: 1.4em;
	    text-align: left;
	    letter-spacing: -1px;
	    margin-bottom: 3px;
	    margin-top: 0px;
	}
    }
}

/* user list */
.users {
    list-style: none;
    margin: 0;
    li {
	overflow: auto;
    }
}

li {
    &.teams {
	list-style: none;
	margin-bottom: 20px;
    }
}

/* tables */
table {
    margin: 10px auto;
}

textarea {
    height: 150px;
}